import { GetActDetail, GetOrderDetail } from "../../../utils/data/apis";
import msg from "../../../utils/model/msg";

// pages/order/confirm/index.ts
Page({

  /**
   * 页面的初始数据
   */
  data: {
    stuInfo: '', // 订单学生信息
    userInfo: '', // 账号用户信息
    id_flag: '', // 账号身份信息
    orderDetail: '', // 订单详情
    courseDetail: '', // 活动详情
    payPrice: '', // 抵扣了优惠券后的应付金额
    infoBox: {}, // infoBox展示信息
  },
  /** 
   * @function 初始化信息，获取订单详情
  */
  getOrderDetail: function(options: {id: string, userInfo: string, orderid: string}) {
    const stuInfo = JSON.parse(options.userInfo); // 订单学生信息
    const userInfo = wx.getStorageSync('user'); // 当前账户信息
    const id_flag = wx.getStorageSync('id_flag');
    this.setData({
        stuInfo: stuInfo,
        userInfo: userInfo,
        id_flag: id_flag,
    })
    // 获取订单详情
    GetOrderDetail({
      id: options.orderid,
      modelName: 'SignList',
    })
    .then((res: any) => {
      const data = res.data.data[0];
      this.setData({
        orderDetail: data
      })
    })
    // 获取活动详情
    GetActDetail({
      id: options.id,
      modelName: 'ClubNews',
    })
    .then((res: any) => {
      this.setData({
        courseDetail: res.data.data[0],
        payPrice: res.data.data[0].price,
      })
    })
  },
  /**
   * @function 初始化infoBox
   */
  initInfoBox: function (data: any) {
    const infoBox = [
      {type: '学员', detail: data.name, icon: '/svg/individual.svg'},
      {type: '学校', detail: data.schoolname, icon: '/svg/edu.svg'},
      {type: '班级', detail: `${data.grade}年级${data.class}班`, icon: '/svg/layer.svg'}
    ]
    this.setData({
      infoBox: infoBox
    })
  },
  /**
   * @function 提交订单，去付款
   */
  toPay: function() {
    const orderid: any = this.options.orderid;
    wx.redirectTo({
      url: `../pay/index?orderid=${orderid}&price=${this.data.payPrice}&key=${''}&userInfo=${this.options.userInfo}`
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options: any) {
    console.log('订单确认', options);
    if(options.orderid && options.userInfo && options.id) {
      this.getOrderDetail(options);
      this.initInfoBox(JSON.parse(options.userInfo));
    }
    else {
      msg.Fail('订单错误');
      setTimeout(() => {
        wx.navigateBack();
      }, 500)
      return;
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})